const CheckoutPage={setElementDisplay(e,t){document.querySelector(CheckoutElements[e]).style.display=t},setText(e,t){document.querySelector(CheckoutElements[e]).innerHTML=t},setValue(e,t){document.querySelector(CheckoutElements[e]).value=t},setBackground(e,t){document.querySelector(CheckoutElements[e]).style.setProperty("background",t,"important")},setImageCard(e){this.setBackground("fcCardNumberContainer","url("+e+") 98% 50% no-repeat #fff"),document.querySelector(CheckoutElements.fcCardNumberContainer).style.setProperty("background-size","auto","important")},findContainerField(e){let t="cardholderName"===e?`#form-checkout__${e}`:`#form-checkout__${e}-container`;return Object.keys(CheckoutElements).find((e=>CheckoutElements[e]===t))},setDisplayOfError(e,t,n,r="customContent"){let s=document.querySelector(CheckoutElements[r]).querySelector(CheckoutElements[e]);s&&("add"===t?s.classList.add(`${n}`):s.classList.remove(`${n}`))},setDisplayOfInputHelper(e,t,n="customContent"){let r=document.querySelector(CheckoutElements[n]).querySelector(`input-helper[input-id=${e}-helper]`);if(r){r.querySelector("div").style.display=t}},setCvvHint(e){var t=wc_mercadopago_custom_checkout_params.cvvText;t=`${e.length} ${t} `,t+=this.cvvLocationTranslate(e.card_location),this.setText("mpSecurityCodeInfo",t)},cvvLocationTranslate(e){let t=wc_mercadopago_custom_checkout_params.cvvHint.front,n=wc_mercadopago_custom_checkout_params.cvvHint.back;return"back"===e?n:t},additionalInfoHandler(e){e.cardholder_name?this.setElementDisplay("fcCardholderName","block"):this.setElementDisplay("fcCardholderName","none"),e.issuer?this.setElementDisplay("mpIssuerContainer","block"):this.setElementDisplay("mpIssuerContainer","none"),e.cardholder_identification_type&&e.cardholder_identification_number?this.setElementDisplay("mpDocumentContainer","block"):this.setElementDisplay("mpDocumentContainer","none")},getCountry:()=>wc_mercadopago_custom_checkout_params.site_id,changeCvvPlaceHolder(e){let t="";for(let n=0;n<e;n++)t+=n+1;cardForm.update("securityCode",{placeholder:t})},clearTax(){this.setElementDisplay("mpInputTaxCft","none"),this.setText("mpTaxCftText",""),this.setText("mpTaxTeaText","")},installment_amount(e){let t=document.querySelector(CheckoutElements.fcInstallments);"debit_card"===e?t.setAttribute("disabled","disabled"):t.removeAttribute("disabled")},formatCurrency:e=>new Intl.NumberFormat(wc_mercadopago_custom_checkout_params.intl,{currency:wc_mercadopago_custom_checkout_params.currency,style:"currency",currencyDisplay:"narrowSymbol"}).format(e),inputHelperName:e=>({cardNumber:CheckoutElements.mpCardNumber,cardholderName:CheckoutElements.mpCardholderName,expirationDate:CheckoutElements.mpExpirationDate,securityCode:CheckoutElements.mpSecurityCode,identificationNumber:CheckoutElements.mpIdentificationNumber}[e]),removeAdditionFields(){this.setElementDisplay("mpDocumentContainer","none"),this.setElementDisplay("mpInstallments","none"),this.setElementDisplay("mpIssuerContainer","none"),this.setDisplayOfInputHelper("installments","none"),this.setValue("cardInstallments","")},clearInstallmentsComponent(){const e=document.querySelector(CheckoutElements.mpInstallmentsContainer);e.classList.remove(CheckoutElements.mpInstallmentsContainer),e.firstElementChild&&e.removeChild(e.firstElementChild)},showInstallmentsComponent(e){const t=document.querySelector(CheckoutElements.mpInstallmentsContainer);t.classList.add(CheckoutElements.mpInstallmentsContainer),t.appendChild(e)},getHelperMessage(e){let t="input-helper[input-id="+this.inputHelperName(e)+"-helper]";return document.querySelector(t).querySelector("div[class=mp-helper-message]")},argentinaResolution(e){let t="";if("MLA"===this.getCountry())for(let n=0;n<e.length;n++)-1!==e[n].indexOf("CFT_")&&(t=e[n]);return t},hideErrors(){document.querySelector(".mp-checkout-custom-container").querySelectorAll("input-helper").forEach((e=>{e.querySelector("div").style.display="none"}))},clearInputs(){this.hideErrors(),this.setBackground("fcCardNumberContainer","no-repeat #fff"),this.setValue("fcCardholderName",""),this.setDisplayOfError("fcCardholderName","removed","mp-error"),this.setValue("fcCardExpirationDateContainer",""),this.setDisplayOfError("fcCardExpirationDateContainer","removed","mp-error"),this.setValue("fcSecurityNumberContainer",""),this.setDisplayOfError("fcSecurityNumberContainer","removed","mp-error"),this.setValue("fcIdentificationNumber",""),this.setElementDisplay("mpDocumentContainer","none"),this.setDisplayOfError("fcIdentificationNumberContainer","removed","mp-error"),this.clearInstallmentsComponent(),this.setElementDisplay("mpInstallments","none"),document.querySelector("input[data-cy=input-document]").value=""},verifyDocument(){let e=document.querySelector(CheckoutElements.fcIdentificationNumber),t=document.querySelector(CheckoutElements.mpDocumentContainer);return"none"===t.style.display||""===t.style.display||"-1"!==e.value&&""!==e.value&&"flex"!==document.querySelector("input-helper[input-id=mp-doc-number-helper]").querySelector("div").style.display},loadAdditionalInfo(e){const t={issuer:!1,cardholder_name:!1,cardholder_identification_type:!1,cardholder_identification_number:!1};for(let n=0;n<e.length;n++)"issuer_id"===e[n]&&(t.issuer=!0),"cardholder_name"===e[n]&&(t.cardholder_name=!0),"cardholder_identification_type"===e[n]&&(t.cardholder_identification_type=!0),"cardholder_identification_number"===e[n]&&(t.cardholder_identification_number=!0);return t},verifyInstallments(){return""===document.querySelector(CheckoutElements.cardInstallments).value?(CheckoutPage.setDisplayOfError("fcInputTableContainer","add","mp-error"),this.setDisplayOfInputHelper("mp-installments","flex"),!1):(CheckoutPage.setDisplayOfError("fcInputTableContainer","remove","mp-error"),this.setDisplayOfInputHelper("mp-installments","none"),!0)},validateInputsCreateToken(){let e=this.verifyInstallments(),t=this.verifyDocument();return e&&t},showTaxes(){const e=document.querySelector(".mp-checkout-custom-container").querySelectorAll(CheckoutElements.mpInputRadio);let t=null,n="block";e.forEach((e=>{e.checked&&(t=e.getAttribute("datarate"))}));let r="",s="";if(null!=t){const e=t.split("|");r=e[0].replace("_"," "),s=e[1].replace("_"," "),"CFT 0,00%"===r&&"TEA 0,00%"===s&&(n="none",r="",s="")}document.querySelector(CheckoutElements.mpInputTaxCft).style.display=n,document.querySelector(CheckoutElements.mpTaxCftText).innerHTML=r,document.querySelector(CheckoutElements.mpTaxTeaText).innerHTML=s},setupTaxEvents(){const e=document.querySelector(CheckoutElements.customContent).getElementsByClassName("mp-input-table-label");for(var t=0;t<e.length;t++){let n=e[t].getElementsByTagName("input")[0].value;"mla"===wc_mercadopago_custom_checkout_params.site_id&&e[t].addEventListener("click",this.showTaxes),e[t].addEventListener("click",(()=>{CheckoutPage.setDisplayOfError("fcInputTableContainer","remove","mp-error"),this.setDisplayOfInputHelper("mp-installments","none"),this.setValue("fcInstallments",n),this.setValue("cardInstallments",n)}))}},getBankInterestDisclaimerCountries:e=>"MLC"===e.toUpperCase()||"MCO"===e.toUpperCase()||"MPE"===e.toUpperCase(),getInstallments(e,t){let n=[];const r=[];this.clearInstallmentsComponent(),n=e.payer_costs,n&&this.setElementDisplay("mpInstallments","block");for(let e=0;e<n.length;e++){const s=n[e].installments,o=0===n[e].installment_rate,a=n[e].installment_rate_collector.includes("MERCADOPAGO"),l=this.formatCurrency(n[e].total_amount),c=t?`${l} + ${wc_mercadopago_custom_checkout_params.interestText}`:l;r.push({id:`installment-${s}`,value:s,highlight:o&&a?"true":"",dataRate:this.argentinaResolution(n[e].labels),rowText:n[e].recommended_message.split("(")[0],rowObs:o&&a?wc_mercadopago_custom_checkout_params.installmentObsFee:c})}return r},setChangeEventOnInstallments(e,t){const n=this.getBankInterestDisclaimerCountries(e),r=this.getInstallments(t,n),s=document.createElement("input-table");s.setAttribute("name","mp-installments"),s.setAttribute("button-name",wc_mercadopago_custom_checkout_params.installmentButton),s.setAttribute("columns",JSON.stringify(r)),n&&s.setAttribute("bank-interest-text",wc_mercadopago_custom_checkout_params.bankInterestText),this.setElementDisplay("mpInstallments","block"),this.showInstallmentsComponent(s),this.setupTaxEvents(),document.querySelector(".mp-checkout-custom-container").querySelector("#more-options").addEventListener("click",(()=>{setTimeout((()=>{this.setupTaxEvents()}),300)})),"mla"===e&&this.clearTax()}};